Results for spec@ext_transform_feedback@structs struct-whole-array run

Overview

Result: fail

Back to summary

Details

Detail Value
Returncode 1
Time 0:00:00.239080
Stdout
Output v.a element 0: expected 100, got -858993460
Output v.a element 1: expected 200, got -858993460
Output v.a element 2: expected 300, got -858993460
Output v.a element 3: expected 400, got -858993460
Output v.a element 4: expected 101, got -858993460
Output v.a element 5: expected 201, got -858993460
Output v.a element 6: expected 301, got -858993460
Output v.a element 7: expected 401, got -858993460
Output v.a element 8: expected 102, got -858993460
Output v.a element 9: expected 202, got -858993460
Output v.a element 10: expected 302, got -858993460
Output v.a element 11: expected 402, got -858993460
Output v.a element 12: expected 103, got -858993460
Output v.a element 13: expected 203, got -858993460
Output v.a element 14: expected 303, got -858993460
Output v.a element 15: expected 403, got -858993460
Output v.b element 0: expected 500.000000, got -107374176.000000
Output v.b element 1: expected 600.000000, got -107374176.000000
Output v.b element 2: expected 501.000000, got -107374176.000000
Output v.b element 3: expected 601.000000, got -107374176.000000
Output v.c element 0: expected 700, got -858993460
Output v.c element 1: expected 701, got -858993460
Output v.c element 2: expected 702, got -858993460
Vertex shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) flat DIR TYPE NAME
#define VARYING(NAME) NAME
struct S { uvec4[4] a; vec2[2] b; int[3] c; };
in vec4 pos;
DECLARE_VARYING(out, S, v);
void main()
{
  gl_Position = pos;
  for (int i = 0; i < 4; i++) {
    if (i < 4) VARYING(v).a[i] = uvec4(100, 200, 300, 400) + uint(i);
    if (i < 2) VARYING(v).b[i] = vec2(500.0, 600.0) + float(i);
    if (i < 3) VARYING(v).c[i] = 700 + i;
  }
}

Fragment shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) flat DIR TYPE NAME
#define VARYING(NAME) NAME
struct S { uvec4[4] a; vec2[2] b; int[3] c; };
DECLARE_VARYING(in, S, v);
out vec4 color;
void main()
{
  bool pass = true;
  for (int i = 0; i < 3; i++) {
    if (i < 4 && VARYING(v).a[i] != uvec4(100, 200, 300, 400) + uint(i)) pass = false;
    if (i < 2 && VARYING(v).b[i] != vec2(500.0, 600.0) + float(i)) pass = false;
    if (i < 3 && VARYING(v).c[i] != 700 + i) pass = false;
  }
  if (pass)
    color = vec4(0.0, 1.0, 0.0, 1.0);
  else
    color = vec4(1.0, 0.0, 0.0, 1.0);
}

Stderr
SWR detected AVX2
vert shader  0x7f84bf10a000
frag shader  0x7f84bf108000
vert shader  0x7f84bf106000
frag shader  0x7f84bf104000
so shader    0x7f84bf102000
fetch shader 0x7f84bf100000
SWR destroy screen!
Environment
PIGLIT_SOURCE_DIR="/home/ilia/src/piglit" PIGLIT_PLATFORM="mixed_glx_egl"
Command /home/ilia/src/piglit/bin/ext_transform_feedback-structs struct-whole-array run -auto -fbo
dmesg

        

Back to summary